package org.example;

import java.util.logging.ConsoleHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;

public class JULDemo {
    public static void main(String[] args) {
        // 获取日志记录对象
        Logger logger = Logger.getLogger("org.example.JULDemo");
        // 关闭系统默认配置
        logger.setUseParentHandlers(false);
        // 自定义配置日志级别
        ConsoleHandler consoleHandler = new ConsoleHandler();
        // 转换对象
        SimpleFormatter simpleFormatter = new SimpleFormatter();

        //关联
        consoleHandler.setFormatter(simpleFormatter);
        logger.addHandler(consoleHandler);

        // 记录日志级别
        logger.setLevel(Level.ALL);
        consoleHandler.setLevel(Level.ALL);

        logger.severe(">>>>> hello");
        logger.warning(">>>> hello");
        logger.info(">>>> hello");
        logger.config(">>>> hello");  // 默认不输出  自定义日志级别 Level.ALL 输出
        logger.fine(">>>> hello");    // 默认不输出  自定义日志级别 Level.ALL 输出
        logger.finer(">>>> hello");   // 默认不输出  自定义日志级别 Level.ALL 输出
        logger.finest(">>>> hello");  // 默认不输出  自定义日志级别 Level.ALL 输出

        // 输出指定级别日志
        logger.log(Level.WARNING,">>>> hello");

        // 占位符
        String name = "hanwei";
        int age = 20;
        logger.log(Level.INFO,">>>>> hello, {0},{1} ", new Object[]{name,age});

        // 异常打印
        logger.log(Level.SEVERE, ">>>>> hello", new NullPointerException());
    }
}